package com.arqui.admmon_module.client.gin;

import com.google.gwt.inject.client.GinModules;
import com.gwtplatform.dispatch.client.gin.DispatchAsyncModule;
import com.arqui.admmon_module.client.gin.ClientModule;
import com.google.gwt.inject.client.Ginjector;
import com.google.gwt.event.shared.EventBus;
import com.gwtplatform.mvp.client.proxy.PlaceManager;
import com.google.gwt.inject.client.AsyncProvider;
import com.arqui.admmon_module.client.core.adm_brand.BrandAdmPresenter;
import com.arqui.admmon_module.client.core.adm_brand.BrandModPresenter;
import com.arqui.admmon_module.client.core.adm_brand.BrandPresenter;
import com.arqui.admmon_module.client.core.adm_brand.EstablishmentModPresenter;
import com.arqui.admmon_module.client.core.adm_brand.EstablishmentPresenter;
import com.arqui.admmon_module.client.core.adm_brand.UserAdmPresenter;
import com.arqui.admmon_module.client.core.adm_brand.UserModPresenter;
import com.arqui.admmon_module.client.core.adm_brand.UserPresenter;
import com.arqui.admmon_module.client.core.adm_syst.ActivityClusterPresenter;
import com.arqui.admmon_module.client.core.main.HeaderPresenter;
import com.arqui.admmon_module.client.core.main.LoggingPresenter;
import com.arqui.admmon_module.client.core.main.MainPresenter;
import com.arqui.admmon_module.client.core.main.OptionPresenter;
import com.arqui.admmon_module.client.core.main.EventsPresenter;
import com.arqui.admmon_module.client.core.load.LoadPresenter;
import com.arqui.admmon_module.client.core.services.ServicesPresenter;
import com.arqui.admmon_module.client.core.invalid.InvalidPresenter;
import com.arqui.admmon_module.client.core.load.RealTimeLoadPresenter;
import com.arqui.admmon_module.client.core.load.HistoricLoadPresenter;
import com.arqui.admmon_module.client.core.services.RealTimeServicesPresenter;
import com.arqui.admmon_module.client.core.services.HistoricServicesPresenter;
import com.arqui.admmon_module.client.core.invalid.SyntaxPresenter;
import com.arqui.admmon_module.client.core.invalid.IdentificationPresenter;
import com.arqui.admmon_module.client.core.invalid.CardPresenter;
import com.arqui.admmon_module.client.core.invalid.RealTimeCardPresenter;
import com.arqui.admmon_module.client.core.invalid.HistoricCardPresenter;
import com.arqui.admmon_module.client.core.invalid.RealTimeSyntaxPresenter;
import com.arqui.admmon_module.client.core.invalid.HistoricSyntaxPresenter;
import com.arqui.admmon_module.client.core.invalid.RealTimeIdentificationPresenter;
import com.arqui.admmon_module.client.core.invalid.HistoricIdentificationPresenter;
import com.arqui.admmon_module.client.core.main.ErrorPresenter;

@GinModules({ DispatchAsyncModule.class, ClientModule.class })
public interface ClientGinjector extends Ginjector {

	EventBus getEventBus();

	PlaceManager getPlaceManager();

	AsyncProvider<LoggingPresenter> getLoggingPresenter();

	AsyncProvider<MainPresenter> getMainPresenter();

	AsyncProvider<HeaderPresenter> getHeaderPresenter();

	AsyncProvider<OptionPresenter> getOptionPresenter();

	AsyncProvider<ActivityClusterPresenter> getActivityClusterPresenter();

	AsyncProvider<BrandAdmPresenter> getBrandAdmPresenter();

	AsyncProvider<BrandPresenter> getBrandPresenter();

	AsyncProvider<BrandModPresenter> getBrandModPresenter();

	AsyncProvider<EstablishmentPresenter> getEstablishmentPresenter();

	AsyncProvider<EstablishmentModPresenter> getEstablishmentModPresenter();

	AsyncProvider<UserPresenter> getAdministratorPresenter();

	AsyncProvider<UserModPresenter> getAdministratorModPresenter();

	AsyncProvider<UserAdmPresenter> getAdministratorAdmPresenter();

	AsyncProvider<EventsPresenter> getEventsPresenter();

	AsyncProvider<LoadPresenter> getLoadPresenter();

	AsyncProvider<ServicesPresenter> getServicesPresenter();

	AsyncProvider<InvalidPresenter> getInvalidPresenter();

	AsyncProvider<RealTimeLoadPresenter> getRealTimeLoadPresenter();

	AsyncProvider<HistoricLoadPresenter> getHistoricLoadPresenter();

	AsyncProvider<RealTimeServicesPresenter> getRealTimeServicesPresenter();

	AsyncProvider<HistoricServicesPresenter> getHistoricServicesPresenter();

	AsyncProvider<SyntaxPresenter> getSyntaxPresenter();

	AsyncProvider<IdentificationPresenter> getIdentificationPresenter();

	AsyncProvider<CardPresenter> getCardPresenter();

	AsyncProvider<RealTimeCardPresenter> getRealTimeCardPresenter();

	AsyncProvider<HistoricCardPresenter> getHistoricCardPresenter();

	AsyncProvider<RealTimeSyntaxPresenter> getRealTimeSyntaxPresenter();

	AsyncProvider<HistoricSyntaxPresenter> getHistoricSyntaxPresenter();

	AsyncProvider<RealTimeIdentificationPresenter> getRealTimeIdentificationPresenter();

	AsyncProvider<HistoricIdentificationPresenter> getHistoricIdentificationPresenter();

	AsyncProvider<ErrorPresenter> getErrorPresenter();
	
}
